home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 3 / Cream of the Crop 3.iso / comm / prtcs155.zip / DOOR.REX < prev    next >
OS/2 REXX Batch file  |  1994-01-14  |  2KB  |  79 lines

  1. /**/
  2. v="$VER: DOOR Wplrx AUX door Handler       Williamson 55.02"
  3.  
  4. auxdev="CTDL-AUX:"
  5. auxmount='Mount CTDL-AUX: from DEVS:mountlist.aux'
  6. redirect=">CTDL-AUX: <CTDL-AUX:"
  7.  
  8. options failat 9999
  9. address COMMAND auxmount
  10. options results
  11. options failat 20
  12. signal on syntax  
  13. signal on halt
  14. signal on ioerr
  15. signal on break_c
  16. signal on break_d
  17.  
  18.     sv=right(v,5);script="DOOR"
  19.     log=show('P','ROOFLOG')
  20.     quote='"'
  21.     cr='\r\n'
  22.     baseport=GetClip('SHELTER')
  23.     logport=lower(baseport)||'wpl'
  24.     parse arg baud slaveport door
  25. say baud
  26. say slaveport
  27. say door
  28.     Address VALUE slaveport
  29.     'Send 'quote||cr||baseport 'Door Handler v'sv' on $(host.sitename)' slaveport||cr||quote
  30.     'Print 'quote||cr||baseport 'Door Handler v'sv' on $(host.sitename)' slaveport||cr||quote
  31.     'Set DOOR TRUE'
  32.     address AREXX 'Mail:rexx/Carrier.rexx 'slaveport word(door,1)
  33.     if upper(word(door,1))="EXECUTE" then cmd=strip(door)
  34.         else cmd=strip(door) redirect
  35.     Call PutLog('Executing:'cmd,10,10)
  36.     address COMMAND cmd
  37.     Address VALUE slaveport
  38.     'Set DOOR FALSE'
  39.     call PutLog('Door Handler exiting',10,10)
  40.     call delete('ENV:DOOR'||slaveport)
  41. exit 0
  42.  
  43. PutLog:  procedure expose log logport slaveport script
  44.     if log then do
  45.         if arg(3) < GetClip('STATUSLEVEL') then say arg(1)
  46.         if arg(2) > GetClip('LOGLEVEL') then return 0
  47.         address 'ROOFLOG' 'LOGLINE' left(time(),5) script': 'arg(1)
  48.     end;else do
  49.         address LOGPROC 'PutLog "'logport time() right(slaveport,1) script':'arg(1)'"'
  50.     end
  51. return 0
  52.  
  53. lower:
  54. return(bitor(arg(1),'20'x))
  55.  
  56. cleanup:
  57. return
  58. break_c:
  59. break_d:
  60.     PutLog('User abort',10,10)
  61.     call cleanup
  62.     exit 10
  63. novalue: 
  64. call template_oops "Novalue" sigl
  65. syntax:
  66. call template_oops "Syntax(RC=" || RC || ")" sigl
  67. failure:
  68. call template_oops "Failure(RC=" || RC || ")" sigl
  69. ioerr:
  70. call template_oops "IOErr" sigl 
  71. halt:
  72. call template_oops "Halt" sigl 
  73. template_oops: 
  74.         parse arg what badport code
  75.         if code ~= "" then  call PutLog("ERR: Line "badport what errortext(code),10,10)
  76.             else call PutLog("ERR: Line" badport what,10,10)
  77.         exit(40)
  78. /**/
  79.